package com.mtw.bbs.article.pojo.elasticsearch;


import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 文章elasticsearch类
 */
@Data
@Document(indexName = "article_info")
public class ArticleESIndex {

    /**
     * 主键id
     */
    @Id
    @Field(type = FieldType.Keyword)
    private String id;

    /**
     * 话题id
     */
    @Field(type = FieldType.Keyword)
    private String topicId;

    /**
     * 内容
     */
    @Field(type = FieldType.Text, analyzer = "ik_max_word", searchAnalyzer = "ik_smart")
    private String content;


    /**
     * 文章类型【0 帖子， 1：推广】
     */
    @Field(type = FieldType.Integer)
    private Integer articleType;

    /**
     * 内容类型
     *   0：图文
     * 	 1：视频
     */
    @Field(type = FieldType.Integer)
    private Integer contentType;

    /**
     * 推荐级别，用于首页推荐
     * 0：正常
     * 1：一级推荐(轮播图)
     * 2：二级推荐(top)
     * 3：三级推荐 ()
     * 4：四级 推荐 (特别推荐)
     */
    @Field(type = FieldType.Integer)
    private Integer level;


    /**
     * 是否原创，1为原创，0为转载
     */
    @Field(type = FieldType.Integer)
    private Integer original;



    /**
     * 状态[1:正常]
     */
    @Field(type = FieldType.Integer)
    private Integer status;

    /**
     * 审核状态
     */
    @Field(type = FieldType.Integer)
    private Integer approveStatus;



    /**
     * 创建人
     */
    @Field(type = FieldType.Keyword)
    private String createdBy;

    /**
     * 创建时间
     */
    @Field(type=FieldType.Date)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdDate;



}
